package com.briup.day16;

import java.io.IOException;

/**
 * @author lining
 * @date 2024/1/28 9:40
 */
public class Test2 {
    //重写：要求异常 扩大 权限不能缩小
    public void method() throws IOException {
        //抛出编译异常
    }
    public void method2() throws NullPointerException{
        //抛出运行时异常
    }
    public void method3(){
        //调用方法
//        method(); 编译错误，方法抛出的编译异常，编译器检查。程序员必须显示处理
        method2();//编译通过。方法抛出的运行异常      不           不需要
    }
    public void a(){
        //System.out.println(1/0);
        String s = "abc";
        System.out.println("异常产生前...");
        System.out.println(s.charAt(10));//输出什么？
        //异常发生后，不会调用剩余代码 break  continu :本次代码 return
        System.out.println("异常产生后...");
    }
    public void b(){
        //谁调用，谁处理
        a();
    }
    public void c(){
        b();
    }
    //JVM-->main--->a---》产生异常----》JVM--->控制台打印异常信息+方法调用过程
    public static void main(String[] args) {
        Test2 t = new Test2();
        t.c();
        //a方法产生的异常，被main方法调用。没有处理异常。
    }
}
